refactor(frontend): generate replace plan without relying on definition #19866
+225
−88
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Note: the diff can be outdated due to ongoing prerequisite refactoring.
We used to rely on the definition when re-planning the table for purposes like schema change or sink-into-table. However, maintaining column definitions can be hard, especially for the schemas resolved from registry.
This PR is a attempt to generate replace plan without relying on persisted definition, but directly retrieve necessary info from the internal representation (
TableCatalog
).To accomplish this, we need to refactor the procedure for generating a plan from a
CREATE TABLE
SQL statement, so that we can reuse as much code as possible when it comes to generating a plan from an existingTable
.Checklist
Documentation
Release note